package model

import "time"

type TransformEventRecord struct {
	ID              int64     `gorm:"column:id;primaryKey;autoIncrement" json:"id"`
	UniqueIdentity  string    `gorm:"column:unique_identity" json:"unique_identity"`
	ClientIP        string    `gorm:"column:client_ip" json:"client_ip"`
	ShortURL        string    `gorm:"column:short_url" json:"short_url"`
	LongURL         string    `gorm:"column:long_url" json:"long_url"`
	ShortURLDigest  string    `gorm:"column:short_url_digest" json:"short_url_digest"`
	LongURLDigest   string    `gorm:"column:long_url_digest" json:"long_url_digest"`
	CompressCode    string    `gorm:"column:compress_code" json:"compress_code"`
	RecordTime      time.Time `gorm:"column:record_time" json:"record_time"`
	UserAgent       string    `gorm:"column:user_agent" json:"user_agent,omitempty"`
	CookieValue     string    `gorm:"column:cookie_value" json:"cookie_value,omitempty"`
	QueryParam      string    `gorm:"column:query_param" json:"query_param,omitempty"`
	Province        string    `gorm:"column:province" json:"province,omitempty"`
	City            string    `gorm:"column:city" json:"city,omitempty"`
	PhoneType       string    `gorm:"column:phone_type" json:"phone_type,omitempty"`
	BrowserType     string    `gorm:"column:browser_type" json:"browser_type,omitempty"`
	BrowserVersion  string    `gorm:"column:browser_version" json:"browser_version,omitempty"`
	OSType          string    `gorm:"column:os_type" json:"os_type,omitempty"`
	DeviceType      string    `gorm:"column:device_type" json:"device_type,omitempty"`
	OSVersion       string    `gorm:"column:os_version" json:"os_version,omitempty"`
	TransformStatus int16     `gorm:"column:transform_status" json:"transform_status"`
	CreateTime      time.Time `gorm:"column:create_time;autoCreateTime" json:"create_time"`
	EditTime        time.Time `gorm:"column:edit_time;autoUpdateTime" json:"edit_time"`
	Creator         string    `gorm:"column:creator" json:"creator"`
	Editor          string    `gorm:"column:editor" json:"editor"`
	Deleted         int16     `gorm:"column:deleted" json:"deleted"`
	Version         int64     `gorm:"column:version" json:"version"`
}

func (TransformEventRecord) TableName() string {
	return "transform_event_record"
}
